#ifndef PCX03DATA_H_
#define PCX03DATA_H_

#include "AbstractData.h"

/*
 * class PCX03Data
 * 
 * Represents the data to be sent from Personal Computer to DTW's X3 Aerial Vessel.
 *
 *  Created on: 17.8.2011.
 *      Author: Hetcheem
 */
class PCX03Data : public AbstractData
{
private:
 	float m_joystickX;	      // Joystick X axis (left, right)
	float m_joystickY;        // Joystick Y axis (up, down)
	float m_joystickZ;		  // Joystick Z axis (rudder left, rudder right)
	float m_throttle;

    // Data handling
    int SerializeSentence(std::stringstream& stream, const bool& isSending);

public:
    // Constructor
	PCX03Data();
    
    // Get
    const float& GetJoystickX() { return m_joystickX;}
    const float& GetJoystickY() { return m_joystickY;}
    const float& GetJoystickZ() { return m_joystickZ;}
    const float& GetThrottle() { return m_throttle;}
    
    // Set
    int SetJoystickX(const float& value);
    int SetJoystickY(const float& value);
    int SetJoystickZ(const float& value);
    int SetThrottle(const float& value);
};



#endif /* PCX03DATA_H_ */
